package base;

/**
 * Created by IntelliJ IDEA. User: njussien Date: 30/11/12 Time: 10:38
 */
public class Equivalent extends OperateurBinaire {
	public Equivalent(Formule a, Formule b) {
		super(a, b);
	}

	@Override
	public Formule negation() {
		return new Ou(new Et(operandedroit, new Non(operande)), new Et(new Non(operandedroit), operande));
	}

	@Override
	public Formule descendreNon() {
		return this;
	}

	public String toString() {
		return "[Operande:(" + operande.toString() + " <=> " + operandedroit.toString() + ")] ";
	}

	@Override
	public Formule enleveEquImp() {
		return new Ou(new Et(new Non(operandedroit), new Non(operande)), new Et(new Non(operandedroit), new Non(operande)));
	}

	public void renommer() {
		// ne fait rien
	}

	@Override
	public Formule remonterQuantificateurs() {
		return this;

	}

	@Override
	public Formule toConjonctive() {
		return this;
	}

	@Override
	public Formule copy() {
		return new Equivalent(operande.copy(), operandedroit.copy());
	}
}
